package com.soulmate.product.service;

import com.soulmate.product.dao.ProductDao;
import com.soulmate.product.data.ProductDO;
import com.soulmate.prudoct.api.ProductService;
import com.soulmate.prudoct.dto.ProductDTO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;

/**
 * 产品服务impl
 *
 * @author huaiping
 * @date 2/17/23-3:16 PM
 */
@Slf4j
@DubboService
@AllArgsConstructor
public class ProductServiceImpl implements ProductService {
    private ProductDao productDao;

    @Override
    public ProductDTO getProductById(Long id) {
        return toDTO(productDao.selectById(id));
    }

    @Override
    public ProductDTO addProduct(ProductDTO productDTO) {
        ProductDO productDO = toDO(productDTO);
        productDao.insert(productDO);
        return toDTO(productDO);
    }

    public ProductDTO toDTO(ProductDO productDO) {
        return new ProductDTO(productDO.getId(), productDO.getProductName(), productDO.getProductPrice());
    }

    public ProductDO toDO(ProductDTO productDTO) {
        return new ProductDO(productDTO.getId(), productDTO.getProductName(), productDTO.getProductPrice());
    }
}
